if (BABL_IS_BABL (example_format))
{
- if (babl_format_get_space (example_format) == babl_space ("sRGB"))
- {
- name = babl_get_name (example_format); // the safest choice when getting sRGB based formats to cast
- }
- else
+ name = babl_get_name (example_format);
+ if (babl_format_get_space (example_format) != babl_space ("sRGB"))
{
+ strcpy (&tmpname[0], name);
+
+ if (strstr (tmpname, "-space"))
+ *strstr (tmpname, "-space") = '\0';
+
name = &tmpname[0];
- if (example_format->format.components == babl_format_get_model (example_format)->model.components &&
- (strstr (name, "CIE") || strstr (name, "cairo")))
- {
- // use the model name directly, for now CIE and cairo should catch most such issues
- strcat (&tmpname[0], babl_get_name (babl_format_get_model (example_format)));
- }
- else
- {
- int i;
- for (i = 0; i < example_format->format.components;i ++)
- strcat (&tmpname[0], babl_get_name ((void*)example_format->format.component[i]));
- }
- strcat (&tmpname[0], " ");
- strcat (&tmpname[0], babl_get_name ((void*)example_format->format.type[0]));
}
}
- if (!space) space = babl_space ("sRGB");
+ if (!space)
+ space = babl_space ("sRGB");
+
if (space->class_type == BABL_FORMAT)
{
space = space->format.space;